// unocss.config.ts
import { defineConfig, presetAttributify, presetIcons, presetUno, transformerAttributifyJsx } from "unocss";
export default defineConfig({
	presets: [
		presetUno(), // 核心预设
		presetAttributify(), // 属性化模式
		presetIcons({
			// 图标支持
			scale: 1.2,
			warn: true,
			extraProperties: {
				display: "inline-block",
				"vertical-align": "middle"
			}
		})
	],
	shortcuts: [
		["wh-full", "w-full h-full"],
		["f-c-c", "flex justify-center items-center"],
		["f-col-c-c", "flex-col justify-center items-center"],
		["flex-col", "flex flex-col"],
		["absolute-lt", "absolute left-0 top-0"],
		["absolute-lb", "absolute left-0 bottom-0"],
		["absolute-rt", "absolute right-0 top-0"],
		["absolute-rb", "absolute right-0 bottom-0"],
		["absolute-center", "absolute-lt f-c-c wh-full"],
		["text-ellipsis", "truncate"]
	],
	transformers: [
		transformerAttributifyJsx() // JSX 转换器
	],
	// 自定义规则（可选）
	rules: [[/^m-(\d+)$/, ([, d]) => ({ margin: `${Number(d) * 4}px` })]],
	theme: {
		colors: {
			primary: "var(--primary-color)",
			primary_hover: "var(--primary-color-hover)",
			primary_pressed: "var(--primary-color-pressed)",
			primary_active: "var(--primary-color-active)",
			info: "var(--info-color)",
			info_hover: "var(--info-color-hover)",
			info_pressed: "var(--info-color-pressed)",
			info_active: "var(--info-color-active)",
			success: "var(--success-color)",
			success_hover: "var(--success-color-hover)",
			success_pressed: "var(--success-color-pressed)",
			success_active: "var(--success-color-active)",
			warning: "var(--warning-color)",
			warning_hover: "var(--warning-color-hover)",
			warning_pressed: "var(--warning-color-pressed)",
			warning_active: "var(--warning-color-active)",
			error: "var(--error-color)",
			error_hover: "var(--error-color-hover)",
			error_pressed: "var(--error-color-pressed)",
			error_active: "var(--error-color-active)",
			dark: "#18181c",
			secondary: "#909399" // 次要文字颜色 => color-secondary
		}
	}
});
